#!/usr/bin/env bash

# ----------------------------------------------------------------------
# Filename :  12-pgMysql-run.sh
# Version  :  1.0
# Date     :  2020/07/08
# Author   :  Lz
# Email    :  lz843723683@gmail.com
# History  :     
#             Version 1.0, 2020/07/08
# Function :  联研院服务器运行版 - pg_mysql_lib_setup
# Out:        
#              0 => TPASS
#              1 => TFAIL
#              other=> TCONF
# ----------------------------------------------------------------------

## TODO : 测试收尾清除工作
#
PgMysqlClean_FTLYY_RUN(){
	return $TPASS
}


## TODO: 调用程序退出函数
#    In: $1 => 调用脚本结果值
PgMysqlExit_FTLYY_RUN(){
        # 调用退出函数，其中调用了clean相关函数
	Exit_FTLIB ${1}
}


## TODO: 用户界面
#
PgMysqlUSAGE_FTLYY_RUN(){
	USAGE_FTLIB "联研院服务器运行版 - pg_mysql_lib_setup"
}


## TODO : 测试前的初始化 
#  Out  : 
#         0 => TPASS
#         1 => TFAIL
#         other=> TCONF
PgMysqlInit_FTLYY_RUN(){
        # 调用初始化函数
	Init_FTLIB "PgMysqlClean_FTLYY_RUN"
        # 调用用户界面函数
 	PgMysqlUSAGE_FTLYY_RUN
}


## TODO ：libpq.so、libpq.so.5、libpq.so.5.6
#
PgMysqlTest01_FTLYY_RUN(){
        local path="/usr/lib/postgres_n/lib"
	local file="libpq.so libpq.so.5 libpq.so.5.6"
	
	local tmpfile=""
	for tmpfile in ${file}
	do
		if [ -f "${path}/${tmpfile}" ];then
		# 存在文件
			ls -al ${path}/${tmpfile}
		        RetParse_FTLIB "要求 ${path} 中存在文件 ${tmpfile}" "False"
		else
		# 不存在文件
			echo "不存在文件 ${path}/${tmpfile}"
			OutputRet_FTLIB "${TFAIL}"
		        RetParse_FTLIB "要求 ${path} 中存在文件 ${tmpfile}" "False"
		fi
	done
}


## TODO ：libmysqlclient.so、libmysqlclient.so.18、libmysqlclient.so.18.3.0
#
PgMysqlTest02_FTLYY_RUN(){
        local path="/usr/lib/mysql_n/lib"
	local file="libmysqlclient.so libmysqlclient.so.18 libmysqlclient.so.18.3.0"
	
	local tmpfile=""
	for tmpfile in ${file}
	do
		if [ -f "${path}/${tmpfile}" ];then
		# 存在文件
			ls -al ${path}/${tmpfile}
		        RetParse_FTLIB "要求 ${path} 中存在文件 ${tmpfile}" "False"
		else
		# 不存在文件
			echo "不存在文件 ${path}/${tmpfile}"
			OutputRet_FTLIB "${TFAIL}"
		        RetParse_FTLIB "要求 ${path} 中存在文件 ${tmpfile}" "False"
		fi
	done
}


## TODO ：查看配置是否正确
#
PgMysqlTest03_FTLYY_RUN(){
        local cfgfile="/etc/ld.so.conf.d/postgres.ld.conf"
        local field="/usr/lib/postgres_n/lib"

        # 判断配置文件
        echo 'cat' "${cfgfile}"
        cat ${cfgfile} | grep "${field}"
        RetParse_FTLIB "${cfgfile} 存在配置 ${field}" "False"
}


## TODO ：查看配置是否正确
#
PgMysqlTest04_FTLYY_RUN(){
        local cfgfile="/etc/ld.so.conf.d/mysql.ld.conf"
        local field="/usr/lib/mysql_n/lib"

        # 判断配置文件
        echo 'cat' "${cfgfile}"
        cat ${cfgfile} | grep "${field}"
        RetParse_FTLIB "${cfgfile} 存在配置 ${field}" "False"
}


## TODO : Main
#  Out  : 
#         0 => TPASS
#         1 => TFAIL
#         other => TCONF
PgMysqlMain_FTLYY_RUN(){
	PgMysqlInit_FTLYY_RUN

	PgMysqlTest01_FTLYY_RUN

	PgMysqlTest02_FTLYY_RUN

	PgMysqlTest03_FTLYY_RUN

	PgMysqlTest04_FTLYY_RUN

	return ${TPASS}	
}

PgMysqlMain_FTLYY_RUN
PgMysqlExit_FTLYY_RUN $?
